<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">
<ui:composition template="../templates/layout.xhtml">
<ui:define name="title">Generar Reporte Cuenta por Pagar</ui:define>
<ui:define name="content">
<p:spacer height="5px"/>
<p:panel>
    <h:outputText value="Generar Reporte Cuenta por Pagar" styleClass="text_header_page"/>
</p:panel>
<p:spacer height="5px"/>
<h:panelGroup>
    <ui:decorate template="/pages/ui/uiCheckPoint.xhtml">
        <ui:param name="jsfBean" value="#{reporteCuentaPagarJsfBean}"/>
        <ui:param name="verEditarCheckPoint" value="true"/>
        <ui:param name="verFechaCorte" value="true"/>
        <ui:param name="verDocumentos" value="false"/>
    </ui:decorate>
    <h:form id="frmReporte">
    <p:outputPanel id="pnlUsuario" rendered="#{not reporteCuentaPagarJsfBean.administrador}">
        <p:panel header="Criterios de Búsqueda" >
            <p:panelGrid>
                <p:row>
                    <p:column>
                        <p:outputLabel for="cmbGrupoEmpresarial" value="Grupo Empresarial"/>
                    </p:column>
                    <p:column>
                        <p:selectOneMenu id="cmbGrupoEmpresarial" converter="#{managerGrupoDTOConverter}"
                                         required="true" requiredMessage="*"
                                         value="#{reporteCuentaPagarJsfBean.reporteContext.grupoEmpresarial}"
                                         style="width:180px;">
                            <f:selectItem itemLabel="Seleccione" itemValue="" noSelectionOption="true"/>
                            <f:selectItems value="#{reporteCuentaPagarJsfBean.cmbGrupoEmpresarial}"
                                           var="grupoSelect"
                                           itemLabel="#{grupoSelect.nombre}"
                                           itemValue="#{grupoSelect}"/>
                            <p:ajax event="change" update=":frmReporte:cmbSociedades :messages" process="@this"
                                    listener="#{reporteCuentaPagarJsfBean.onSelectGrupoEmpresarial}"/>
                        </p:selectOneMenu>
                    </p:column>
                    <p:column>
                        <p:message for="cmbGrupoEmpresarial" display="text"/>
                    </p:column>
                    <p:column>
                        <p:outputLabel for="cmbSociedades" value="Sociedad"/>
                    </p:column>
                    <p:column>
                        <p:selectCheckboxMenu id="cmbSociedades" label="Sociedades" filter="true"
                                              converter="#{managerSociedadDTOConverter}" required="true"
                                              requiredMessage="*"
                                              value="#{reporteCuentaPagarJsfBean.reporteContext.sociedadList}"
                                              filterText="Filter" filterMatchMode="startsWith"
                                              panelStyle="width:220px"
                                >
                            <f:selectItems value="#{reporteCuentaPagarJsfBean.cmbSociedad}" var="sociedadItem"
                                           itemLabel="#{sociedadItem.nombre}"
                                           itemValue="#{sociedadItem}"/>
                            <p:column>

                            </p:column>
                        </p:selectCheckboxMenu>
                    </p:column>
                    <p:column>
                        <p:message for="cmbSociedades" display="text"/>
                    </p:column>
                    <p:column>
                        <p:outputLabel for="cmbAgrupacion" value="Seleccione las agrupaciones"
                                />
                    </p:column>
                    <p:column>
                        <p:selectCheckboxMenu id="cmbAgrupacion" label="Agrupaciones" filter="true"
                                              converter="#{managerAgrupacionDTOConverter}" required="true"
                                              requiredMessage="*"
                                              value="#{reporteCuentaPagarJsfBean.reporteContext.agrupacionList}"
                                              filterText="Filter" filterMatchMode="startsWith"
                                              panelStyle="width:220px"
                                >
                            <f:selectItems value="#{reporteCuentaPagarJsfBean.cmbAgrupacion}" var="agrupacionItem"
                                           itemLabel="#{agrupacionItem.nombre}" itemValue="#{agrupacionItem}"/>

                        </p:selectCheckboxMenu>
                    </p:column>
                    <p:column>
                        <p:message for="cmbAgrupacion" display="text"/>
                    </p:column>

                </p:row>
                <p:row>
                    <p:column>
                        <p:outputLabel for="checkpointList" value="CheckPoint"/>
                    </p:column>
                    <p:column>
                        <p:selectOneMenu panelStyle="width: 350px" style="width: 220px"
                                         var="checkPointItem" id="checkpointList"
                                         converter="#{checkPointDTOConverter}"
                                         value="#{reporteCuentaPagarJsfBean.reporteContext.checkPoint}">
                            <f:selectItem itemLabel="Seleccione" itemValue=""/>
                            <f:selectItems value="#{reporteCuentaPagarJsfBean.cmbCheckPoint}"
                                           var="checkPoint" itemLabel="#{checkPoint.nombreArchivo}"
                                           itemValue="#{checkPoint}"
                                    />
                            <p:column>
                                #{checkPointItem.nombreArchivo}
                            </p:column>
                            <p:column>
                                <h:outputText value="#{checkPointItem.fechaCreacion}">
                                    <f:convertDateTime pattern="#{messages.label_app_timeFormatLong}"
                                                       timeZone="America/Lima"
                                                       type="both"/>
                                </h:outputText>
                            </p:column>
                            <p:column>
                                #{checkPointItem.comentario}
                            </p:column>

                        </p:selectOneMenu>
                    </p:column>
                    <p:column>
                        <p:message for="checkpointList" display="text"/>
                    </p:column>
                    <p:column>
                        <p:outputLabel for="cmbTipoImporte" value="Importe"/>
                    </p:column>
                    <p:column colspan="1">
                        <p:selectOneMenu
                                id="cmbTipoImporte" required="true" requiredMessage="*"
                                value="#{reporteCuentaPagarJsfBean.reporteContext.tipoMonto}">
                            <f:selectItem itemLabel="Seleccione" itemValue=""/>
                            <f:selectItem itemLabel="Importe Moneda Local" itemValue="0"/>
                            <f:selectItem itemLabel="Importe Valorado" itemValue="1"/>
                        </p:selectOneMenu>
                    </p:column>
                    <p:column>
                        <p:message for="cmbTipoImporte" display="text"/>
                    </p:column>
                    <p:column>
                        <p:outputLabel for="cmbReporte" value="Reportes"/>
                    </p:column>
                    <p:column>
                        <p:selectCheckboxMenu id="cmbReporte" label="Reportes" filter="true"
                                              value="#{reporteCuentaPagarJsfBean.reporteContext.reportePagarList}"
                                              converter="#{managerTipoReporteCxPConverter}"
                                              filterText="Filter" filterMatchMode="startsWith"
                                              panelStyle="width:320px"
                                >
                            <f:selectItems value="#{reporteCuentaPagarJsfBean.allTipoReporteCuentaPorPagar}"
                                           var="reporteItem"
                                           itemLabel="#{reporteItem.nombre}" itemValue="#{reporteItem}"/>

                        </p:selectCheckboxMenu>
                    </p:column>
                    <p:column>
                        <p:message for="checkpointList" display="text"/>
                    </p:column>
                </p:row>
                <p:row>
                    <p:column colspan="1">
                        </p:column>
                    <p:column>
                        <h:outputText value="Reporte Comparativo: " />

                        <p:selectBooleanCheckbox label="Reporte Comparativo: " value="#{reporteCuentaPagarJsfBean.reporteContext.comparativo}">
                        </p:selectBooleanCheckbox>

                    </p:column>
                    <p:column>
                        <p:message for="checkPointInicio" display="text"/>
                    </p:column>
                    <p:column colspan="2">

                        <p:selectOneMenu id="checkPointInicio" panelStyle="width: 350px" style="width: 220px"
                                         var="checkPointItem"
                                         converter="#{checkPointDTOConverter}"
                                         value="#{reporteCuentaPagarJsfBean.reporteContext.checkPointBase}">
                            <f:selectItem itemLabel="Seleccione" itemValue=""/>
                            <f:selectItems value="#{reporteCuentaPagarJsfBean.cmbCheckPoint}"
                                           var="checkPoint" itemLabel="#{checkPoint.nombreArchivo}"
                                           itemValue="#{checkPoint}"
                                    />
                            <p:column>
                                #{checkPointItem.nombreArchivo}
                            </p:column>
                            <p:column>
                                <h:outputText value="#{checkPointItem.fechaCreacion}">
                                    <f:convertDateTime pattern="#{messages.label_app_timeFormatLong}"
                                                       timeZone="America/Lima"
                                                       type="both"/>
                                </h:outputText>
                            </p:column>
                            <p:column>
                                #{checkPointItem.comentario}
                            </p:column>

                        </p:selectOneMenu>
                        </p:column>
                    <p:column>
                        <p:message for="checkPointInicio" display="text"/>
                    </p:column>
                    <p:column colspan="2">
                        <p:selectOneMenu panelStyle="width: 350px" style="width: 220px"
                                         var="checkPointItem"  id="checkPointFin"
                                         converter="#{checkPointDTOConverter}"
                                         value="#{reporteCuentaPagarJsfBean.reporteContext.checkPointActual}">
                            <f:selectItem itemLabel="Seleccione" itemValue=""/>
                            <f:selectItems value="#{reporteCuentaPagarJsfBean.cmbCheckPoint}"
                                           var="checkPoint" itemLabel="#{checkPoint.nombreArchivo}"
                                           itemValue="#{checkPoint}"
                                    />
                            <p:column>
                                #{checkPointItem.nombreArchivo}
                            </p:column>
                            <p:column>
                                <h:outputText value="#{checkPointItem.fechaCreacion}">
                                    <f:convertDateTime pattern="#{messages.label_app_timeFormatLong}"
                                                       timeZone="America/Lima"
                                                       type="both"/>
                                </h:outputText>
                            </p:column>
                            <p:column>
                                #{checkPointItem.comentario}
                            </p:column>

                        </p:selectOneMenu>
                    </p:column>
                    <p:column>
                        <p:message for="checkPointFin" display="text"/>
                    </p:column>
                </p:row>
                <p:row>
                    <p:column colspan="5">
                        <p:commandButton value="#{messages.label_process}" icon="ui-icon-refresh"
                                         actionListener="#{reporteCuentaPagarJsfBean.procesar}"
                                         ajax="true" update=":frmReporte :messages"
                                />
                    </p:column>
                </p:row>
            </p:panelGrid>
        </p:panel>
    </p:outputPanel>
    <p:outputPanel id="pnlAdmin" rendered="#{reporteCuentaPagarJsfBean.administrador}">
        <p:panel header="Criterios de Búsqueda" >
            <p:panelGrid>
                <p:row>
                    <p:column>
                        <p:outputLabel for="checkpointListAdmin" value="CheckPoint"/>
                    </p:column>
                    <p:column colspan="1">
                        <p:selectOneMenu panelStyle="width: 350px" style="width: 220px"
                                         var="checkPointItem" id="checkpointListAdmin"
                                         converter="#{checkPointDTOConverter}"
                                         value="#{reporteCuentaPagarJsfBean.reporteContext.checkPoint}">
                            <f:selectItem itemLabel="Seleccione" itemValue=""/>
                            <f:selectItems value="#{reporteCuentaPagarJsfBean.cmbCheckPoint}"
                                           var="checkPoint" itemLabel="#{checkPoint.nombreArchivo}"
                                           itemValue="#{checkPoint}"
                                    />
                            <p:column>
                                #{checkPointItem.nombreArchivo}
                            </p:column>
                            <p:column>
                                <h:outputText value="#{checkPointItem.fechaCreacion}">
                                    <f:convertDateTime pattern="#{messages.label_app_timeFormatLong}"
                                                       timeZone="America/Lima"
                                                       type="both"/>
                                </h:outputText>
                            </p:column>
                            <p:column>
                                #{checkPointItem.comentario}
                            </p:column>

                        </p:selectOneMenu>
                    </p:column>
                    <p:column>
                        <p:message for="checkpointListAdmin" display="text"/>
                    </p:column>
                    <p:column>
                        <p:outputLabel for="cmbAgrupacionAdmin" value="Seleccione las agrupaciones"
                                />
                    </p:column>
                    <p:column>
                        <p:selectCheckboxMenu id="cmbAgrupacionAdmin" label="Agrupaciones" filter="true"
                                              converter="#{managerAgrupacionDTOConverter}" required="true"
                                              requiredMessage="*"
                                              value="#{reporteCuentaPagarJsfBean.reporteContext.agrupacionList}"
                                              filterText="Filter" filterMatchMode="startsWith"
                                              panelStyle="width:220px"
                                >
                            <f:selectItems value="#{reporteCuentaPagarJsfBean.cmbAgrupacion}" var="agrupacionItem"
                                           itemLabel="#{agrupacionItem.nombre}" itemValue="#{agrupacionItem}"/>

                        </p:selectCheckboxMenu>
                    </p:column>
                    <p:column>
                        <p:message for="cmbAgrupacionAdmin" display="text"/>
                    </p:column>
                    <p:column>
                        <p:outputLabel for="cmbReporteAdmin" value="Reportes"/>
                    </p:column>
                    <p:column >
                        <p:selectCheckboxMenu id="cmbReporteAdmin" label="Reportes" filter="true"
                                              value="#{reporteCuentaPagarJsfBean.reporteContext.reportePagarList}"
                                              converter="#{managerTipoReporteCxPConverter}"
                                              filterText="Filter" filterMatchMode="startsWith"
                                              style="width: 150px"
                                              panelStyle="width:320px"
                                >
                            <f:selectItems value="#{reporteCuentaPagarJsfBean.allTipoReporteCuentaPorPagar}"
                                           var="reporteItem"
                                           itemLabel="#{reporteItem.nombre}" itemValue="#{reporteItem}"/>

                        </p:selectCheckboxMenu>
                    </p:column>
                    <p:column>
                        <p:message for="cmbReporteAdmin" display="text"/>
                    </p:column>

                </p:row>
                <p:row>
                    <p:column colspan="2">

                    </p:column>
                    <p:column >

                    </p:column>
                    <p:column>
                        <p:outputLabel for="cmbTipoImporteAdmin" value="Importe"/>
                    </p:column>
                    <p:column colspan="1">
                        <p:selectOneMenu
                                id="cmbTipoImporteAdmin"  required="true" requiredMessage="*"
                                value="#{reporteCuentaPagarJsfBean.reporteContext.tipoMonto}">
                            <f:selectItem itemLabel="Seleccione" itemValue=""/>
                            <f:selectItem itemLabel="Importe Moneda Local" itemValue="0"/>
                            <f:selectItem itemLabel="Importe Valorado" itemValue="1"/>
                        </p:selectOneMenu>
                    </p:column>
                    <p:column>
                        <p:message for="cmbTipoImporteAdmin" display="text"/>
                    </p:column>
                </p:row>
                <p:row>

                    <p:column colspan="2">

                    </p:column>
                    <p:column >

                    </p:column>
                    <p:column>
                        <h:outputText value="Reporte Comparativo: " />

                        <p:selectBooleanCheckbox label="Reporte Comparativo: " value="#{reporteCuentaPagarJsfBean.reporteContext.comparativo}">
                        </p:selectBooleanCheckbox>

                    </p:column>
                    <p:column colspan="1">

                        <p:selectOneMenu id="checkPointInicioAdmin" panelStyle="width: 350px" style="width: 220px"
                                         var="checkPointItem"
                                         converter="#{checkPointDTOConverter}"
                                         value="#{reporteCuentaPagarJsfBean.reporteContext.checkPointBase}">
                            <f:selectItem itemLabel="Seleccione" itemValue=""/>
                            <f:selectItems value="#{reporteCuentaPagarJsfBean.cmbCheckPoint}"
                                           var="checkPoint" itemLabel="#{checkPoint.nombreArchivo}"
                                           itemValue="#{checkPoint}"
                                    />
                            <p:column>
                                #{checkPointItem.nombreArchivo}
                            </p:column>
                            <p:column>
                                <h:outputText value="#{checkPointItem.fechaCreacion}">
                                    <f:convertDateTime pattern="#{messages.label_app_timeFormatLong}"
                                                       timeZone="America/Lima"
                                                       type="both"/>
                                </h:outputText>
                            </p:column>
                            <p:column>
                                #{checkPointItem.comentario}
                            </p:column>

                        </p:selectOneMenu>
                    </p:column>
                    <p:column>
                        <p:message for="checkPointInicioAdmin" display="text"/>
                    </p:column>
                    <p:column colspan="2">
                        <p:selectOneMenu panelStyle="width: 350px" style="width: 220px"
                                         var="checkPointItem"  id="checkPointFinAdmin"
                                         converter="#{checkPointDTOConverter}"
                                         value="#{reporteCuentaPagarJsfBean.reporteContext.checkPointActual}">
                            <f:selectItem itemLabel="Seleccione" itemValue=""/>
                            <f:selectItems value="#{reporteCuentaPagarJsfBean.cmbCheckPoint}"
                                           var="checkPoint" itemLabel="#{checkPoint.nombreArchivo}"
                                           itemValue="#{checkPoint}"
                                    />
                            <p:column>
                                #{checkPointItem.nombreArchivo}
                            </p:column>
                            <p:column>
                                <h:outputText value="#{checkPointItem.fechaCreacion}">
                                    <f:convertDateTime pattern="#{messages.label_app_timeFormatLong}"
                                                       timeZone="America/Lima"
                                                       type="both"/>
                                </h:outputText>
                            </p:column>
                            <p:column>
                                #{checkPointItem.comentario}
                            </p:column>

                        </p:selectOneMenu>
                    </p:column>
                    <p:column>
                        <p:message for="checkPointFinAdmin" display="text"/>
                    </p:column>
                </p:row>
                <p:row>
                    <p:column colspan="2">
                    <p:treeTable style="font-size: 10px"
                            value="#{reporteCuentaPagarJsfBean.root}" var="grupoEmpresarial" id="multiSelect"
                                 selection="#{reporteCuentaPagarJsfBean.selectedNodes}" selectionMode="checkbox">

                        <f:facet name="header">
                            Grupo Empresarial
                        </f:facet>

                        <p:column style="width:150px">
                            <f:facet name="header">
                                Nombre
                            </f:facet>
                            <h:outputText value="#{grupoEmpresarial.nombre}" />
                        </p:column>
                    </p:treeTable>
                    </p:column>
                    <p:column></p:column>
                    <p:column colspan="6" style="vertical-align: top; " >
                        <p:commandButton value="#{messages.label_process}" icon="ui-icon-refresh"
                                         actionListener="#{reporteCuentaPagarJsfBean.procesar}"
                                         ajax="true" update=":frmReporte :messages"
                                />
                    </p:column>
                </p:row>
            </p:panelGrid>
        </p:panel>
    </p:outputPanel>
    </h:form>
</h:panelGroup>

</ui:define>
<ui:define name="modal">
    <ui:decorate template="/pages/ui/uiModal.xhtml">
        <ui:param name="tipo" value="cxp"/>
        <ui:param name="jsfBean" value="#{reporteCuentaPagarJsfBean}"/>
        <ui:param name="verFechaCorte" value="true"/>
    </ui:decorate>
</ui:define>
</ui:composition>
</html>